跳到主要内容

Lua脚本简介

星火编辑器目前主推TypeScript开发。仅当你不想用TypeScript,或因为某些原因(比如排查错误)就是想使用Lua时,才阅读本文档。

Lua+是我们扩充了语法的Lua,目前已被废弃。如果用其它文本编辑器直接打开lua文件,最顶部有一行--- lua_plus ---的,则表明是Lua+。

使用纯Lua API开发

如果你要使用纯Lua API开发,且完全不使用触发编辑器编写的逻辑,那么需要执行以下步骤:

  1. 在触发编辑器中,新建一个TypeScript脚本文件夹,并重命名
  2. 使用VS Code打开项目文件夹,在刚才建立的文件夹里面创建lua脚本
  3. 在src/main.lua(客户端是ui/src/main.lua)里面require刚才创建好的lua脚本

以下为触发编辑器V1的解决方案:

如果你想要在Lua+代码中混写纯Lua,那么删除触发代码里的--- skip_undefined ---这一行(这行在触发编辑器「仅代码」模式是可见的)。

这行表示保存时会剔除Lua+不认识的API和语法。注意纯Lua API不是Lua+的API,不删上述这行的话,编辑器保存时会跳过相关代码,使其不产生作用。

另外,如果你日常使用其它文本编辑器来写代码,然后再用编辑器调试,那么切回编辑器的时候,会提示你「以下文件发生外部改动,是否重载」,此时重载的那些文件在触发编辑器内的改动会丢失

以及,有时候会红字提示「是否重载整个地图」,点了之后所有编辑器内未保存的改动都会丢失

一个已知的BUG是:有时明明外部改动了代码,但切回编辑器时没有提示「外部改动」,此时建议你关闭编辑器重开,否则编辑器保存时可能把你的外部保存覆盖